#pragma once
#include "texture.h"
#include <vector>
#include <string>
#include <map>
#include <boost/filesystem.hpp>
using namespace boost::filesystem;
using namespace std;
class TextureManager
{
public:
	TextureManager(void);
	~TextureManager(void);
	bool Initialize(string textureFolderPath);
	bool IsValidTexture(uint textureID) const;
	uint LoadTexture(string textureFilename);
	Texture *GetTextureObject(uint textureID);
	void ReleaseTexture(uint textureID);
	void ReleaseAllTextures();
private:
	path m_basePath;
	map<uint, Texture*> m_pTextures;
};

